1. Field of the Invention
The present invention relates to an encryption processing apparatus.
2. Description of the Related Art
In recent years, data communication has often been performed between various types of digital devices by connecting the digital devices to a network, and an opportunity to perform data communication on the Internet has also been increased. In such communication between the digital devices on the network, data to be sent and received may be monitored or tampered with. A communication protocol for protecting safety of data communication from monitoring or tampering with is required. Internet Protocol Security (IPsec) and Secure Socket Layer/Transport Layer Security (SSL/TLS) including an encryption/decryption function and an authentication function, have been widely used as a standard technique.
Conventionally, such communication encryption processing has often been implemented by means of software. However, an amount of data in the data communication on the network has been increasing every year, and a real-time processing has often been required. Thus, an increase in the speed of communication encryption processing has been needed.
Therefore, a method for implementing the communication encryption processing by hardware and parallelizing the encryption/decryption processing and the authentication processing in the communication encryption processing to speedup the communication encryption processing has been used. Japanese Patent Application Laid-Open No. 2010-57123 discusses a method for parallelizing encryption/decryption processing and authentication processing in SSL/TLS receiving processing.
In Japanese Patent Application Laid-Open No. 2010-57123, however, decryption processing for calculating an authentication parameter, decryption processing for payload data, and authentication processing cannot be collectively implemented by hardware in SSL/TLS receiving processing. Switching between software processing and hardware processing, setting of hardware processing, software processing, and data transfer are required to be sequentially performed to perform the decryption processing and the authentication processing, which prevents the speed of the communication encryption processing from increasing.